/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Controlador;

import Modelo.SucursalModelo;
import Modelo.Sucursal;
import java.sql.SQLException;
import java.util.Iterator;
import java.util.LinkedList;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author Farit
 */
public class ControlSucursal {

    SucursalModelo mod=new SucursalModelo();
    LinkedList list;
    DefaultTableModel tablaModelo;
    private Sucursal suc= new Sucursal() ;

    public ControlSucursal(){
        list=new LinkedList();
        tablaModelo=new DefaultTableModel();
    }



        //metodo para enviar una tabla y reciva una tabla
  public JTable cargaSucursalesTabla(JTable tabla,String consulta,int tipo){//utilizo 2 parametros la tabla y la consulta, si la consulta es vacia
                                                           //trae todos los datos
        cleanTabla(tabla);
        tablaModelo=(DefaultTableModel) tabla.getModel();
	try
	{
            list=mod.consultaSucursalesTabla(consulta,tipo);
            Iterator it=list.iterator();
            while( it.hasNext() )
            {
                suc=(Sucursal)it.next();
                tablaModelo.addRow
                (
                    new Object[]
                    {
                        suc.getCodigo(),suc.getCiudad(),suc.getCedulaGerente(),suc.getNombreGerente(),suc.getApellidoGerente(), suc.getDireccionGerente(),
                        suc.getTelefonoGerente(),suc.getEstado()
                    }
                );
            }
            tablaModelo.addRow(new Object[]{});
     //       JOptionPane.showMessageDialog(null,"probando");
	}catch(Exception er){
		JOptionPane.showMessageDialog(null, "Error al cargar la lista de Sucursales de la base de datos, se presento " +
                        "\n un inconveniente al tratar de Buscar la informacion requerida " +
                        "\n por el sistema." +
                        "\n."+er.toString() , "Error en la Carga de Informacion...",JOptionPane.DEFAULT_OPTION);
	}
        return tabla;
    }

    public JTable cleanTabla(JTable tabla){
        tablaModelo=(DefaultTableModel) tabla.getModel();
        int x=tablaModelo.getRowCount();
	for(int i=-1;i<(x-1);i++)
		tablaModelo.removeRow(0);

        return tabla;
  }

    /**
     * Consulta la sucursal por su codigo
     * @param codigo
     * @return
     * @throws SQLException
     */
      public Sucursal getSucursalCodigo(String consulta) throws SQLException{
          Sucursal sucursal=new Sucursal();
          sucursal=mod.getSucursalCodigo(consulta);
          return sucursal;
  }

    /**
     * Crea/inserta nueva sucursal
     * @param suc
     * @throws SQLException
     */
       public void setNuevaSucursal(Sucursal suc) throws SQLException {//
        mod.setNuevaSucursal(suc);
    }

     /**
      * Actualiza los datos de la sucursal
      * @param objeto sucursal
      * @param codigo a modificar
      * @throws SQLException
      */
       public void actualizarSucursal(Sucursal suc,String consulta) throws SQLException   {// insertar datos a la base de datos
        mod.actualizarSucursal(suc, consulta);
    }

      /**
       * Consulta existencia del producto
       * @param codigo de producto
       * @return
       * @throws SQLException
       */
     public boolean isExist(String consulta) throws SQLException{
        Sucursal sucursal=new Sucursal();
        sucursal=mod.getSucursalCodigo(consulta);

        if(sucursal.getCodigo()!=null)
          return true;

      return false;
     }

}
